package wm.pt.service;

import java.util.List;
import java.util.Set;

import wm.model.*;
import wm.pt.dao.PtDAO;

public class PtDAOService implements IPtDAOService{

	private PtDAO ptDAO;
	
    public PtDAOService() {
        this.ptDAO = PtDAO.getInstance();
    }
	
	@Override
	public Set<Cliente> getClientes() {
		return ptDAO.getClientes();
	}

	@Override
	public void addCliente(Cliente cli) {
		ptDAO.addCliente(cli);
	}

	@Override
	public void setCliente(int codigo, Cliente cli) {
		ptDAO.setCliente(codigo, cli);
	}

	@Override
	public void removeCliente(int codigo) {
		ptDAO.removeCliente(codigo);
	}

	@Override
	public boolean clienteExistente(int codigo) {
		return ptDAO.clienteExistente(codigo);
	}

	@Override
	public List<Cliente> getClientesOrderedByCodigoAsc() {
		return ptDAO.getClientesOrderedByCodigoAsc();
	}

	@Override
	public Set<Producto> getProductos() {
		return ptDAO.getProductos();
	}

	@Override
	public void addProducto(Producto pro) {
		ptDAO.addProducto(pro);
	}

	@Override
	public void setProducto(int codigo, Producto pro) {
		ptDAO.setProducto(codigo, pro);
	}

	@Override
	public void removeProducto(int codigo) {
		ptDAO.removeProducto(codigo);
	}

	@Override
	public boolean productoExistente(int codigo) {
		return ptDAO.productoExistente(codigo);
	}

	@Override
	public List<Producto> getProductosOrderedByCodigoAsc() {
		return ptDAO.getProductosOrderedByCodigoAsc();
	}

	@Override
	public Set<Unidad> getUnidades() {
		return ptDAO.getUnidades();
	}

	@Override
	public List<Unidad> getUnidadesOrderedByCodigoAsc() {
		return ptDAO.getUnidadesOrderedByCodigoAsc();
	}

	@Override
	public List<Unidad> getUnidadesOrderedByFechaCaducidadAsc() {
		return ptDAO.getUnidadesOrderedByFechaCaducidadAsc();
	}

	
	@Override
	public Set<Compra> getCompras() {
		return ptDAO.getCompras();
	}

	@Override
	public List<Compra> getComprasOrderedByCodigoAsc() {
		return ptDAO.getComprasOrderedByCodigoAsc();
	}

	@Override
	public Set<Historico> getHistoricos() {
		return ptDAO.getHistoricos();
	}

	@Override
	public List<Historico> getHistoricosPorProducto(int codigoProducto) {
		return ptDAO.getHistoricosPorProducto(codigoProducto);
	}

	@Override
	public List<Historico> getHistoricosOrderedByFechaAsc() {
		return ptDAO.getHistoricosOrderedByFechaAsc();
	}

	@Override
	public List<Historico> getHistoricosOrderedByFechaAsc(int codigoProducto) {
		return ptDAO.getHistoricosOrderedByFechaAsc(codigoProducto);
	}

	@Override
	public Set<Prevision> getPrevisiones() {
		return ptDAO.getPrevisiones();
	}

	@Override
	public List<Prevision> getPrevisionesOrderedByCodigoAsc() {
		return ptDAO.getPrevisionesOrderedByCodigoAsc();
	}

	@Override
	public List<Prevision> getPrevisionesOrderedByFechaAsc(int codigoProducto) {
		return ptDAO.getPrevisionesOrderedByFechaAsc(codigoProducto);
	}

	@Override
	public Set<Calendario> getCalendarios() {
		return ptDAO.getCalendarios();
	}

	@Override
	public List<Calendario> getCalendariosOrderedByDiayMesAsc() {
		return ptDAO.getCalendariosOrderedByDiayMesAsc();
	}

	@Override
	public void addPrevision(Prevision pre) {
		ptDAO.addPrevision(pre);	
	}

	@Override
	public boolean previsionExistente(int codigo) {
		return ptDAO.previsionExistente(codigo);
	}

	@Override
	public void addCalendario(Calendario cal) {
		ptDAO.addCalendario(cal);
		
	}

	@Override
	public void setCalendario(int mes, int dia, String tipo) {
		ptDAO.setCalendario(mes, dia, tipo);
		
	}

	@Override
	public void removeCalendario(int mes, int dia) {
		ptDAO.removeCalendario(mes, dia);
		
	}

	@Override
	public boolean calendarioExistente(int mes, int dia) {
		return ptDAO.calendarioExistente(mes, dia);
	}

	@Override
	public String colorUnidadesProximasACaducar() {
		return ptDAO.colorUnidadesProximasACaducar();
	}
}
